package com.artollkitplus.benchmark;

public interface Config {	
	//submenus order
	public static final int ORDER_BEFORE_EXIT = 1;
	public static final int ORDER_EXIT = 3;
	public static final int ORDER_AFTER_EXIT = 6;
	
	//menu groups
	public static final int BIT_GROUP_ARTOOLKIT = 1;
	public static final int BIT_GROUP_ARTOOLKIT_PLUS = 2;
	public static final int BIT_GROUP_ARTOOLKIT_CLEAR_MASK = ~(BIT_GROUP_ARTOOLKIT|BIT_GROUP_ARTOOLKIT_PLUS);
	public static final int BIT_GROUP_ARTOOLKIT_PLUS_SINGLE = 4;
	public static final int BIT_GROUP_ARTOOLKIT_PLUS_MULTI = 8;	
	public static final int BIT_GROUP_ARTOOLKIT_PLUS_CLEAR_MASK = ~(BIT_GROUP_ARTOOLKIT_PLUS_SINGLE|BIT_GROUP_ARTOOLKIT_PLUS_MULTI);	
	
 	//combined group settings
 	public static final int _MENU_GROUP_ONE = BIT_GROUP_ARTOOLKIT|BIT_GROUP_ARTOOLKIT_PLUS;
 	public static final int _MENU_GROUP_TWO = BIT_GROUP_ARTOOLKIT_PLUS|BIT_GROUP_ARTOOLKIT_PLUS_SINGLE|BIT_GROUP_ARTOOLKIT_PLUS_MULTI;
 	public static final int _MENU_GROUP_THREE = BIT_GROUP_ARTOOLKIT_PLUS|BIT_GROUP_ARTOOLKIT_PLUS_MULTI;
	
 	//submenus id's
 	public static final int _MODE_AR_LIBRARY = 1101;
 	public static final int _MODE_IMAGE = 1102;
 	public static final int _IMAGE_SIZE = 1103;
 	public static final int _MODE_MARKER_TYPE = 1104;
 	public static final int _MODE_POSE_ESTIMATOR = 1105;
 	public static final int _MODE_TRACKER_BASE_TYPE = 1106;
 	public static final int _MODE_HULL = 1107;
 	public final static int _OTHER = 1108;
 		
	//menu items of _MODE_AR_LIBRARY 
	public static final int MODE_AR_ARTOOLKIT = 1;
	public static final int MODE_AR_ARTOOLKIT_PLUS = 2;

	//menu items of _MODE_IMAGE
	public final static int MODE_IMAGE_RGB = 3;
	public final static int MODE_IMAGE_GRAY = 4;
	
	//menu items of _IMAGE_SIZE
	public final static int IMAGE_SIZE_OPTIMAL = 5;
	public final static int IMAGE_SIZE_800x480 = 6;
	public final static int IMAGE_SIZE_480x320 = 7;
	public final static int IMAGE_SIZE_320x240 = 8;
	public final static int IMAGE_SIZE_300x225 = 9;
	public final static int IMAGE_SIZE_280x210 = 10;
	public final static int IMAGE_SIZE_260x195 = 11;
	public final static int IMAGE_SIZE_240x180 = 12;
	public final static int IMAGE_SIZE_220x165 = 13;
	public final static int IMAGE_SIZE_200x150 = 14;
	public final static int IMAGE_SIZE_180x135 = 15;
	public final static int IMAGE_SIZE_160x120 = 16;
	public final static int IMAGE_SIZE_140x105 = 17;
	public final static int IMAGE_SIZE_120x90 = 18;
	
	//menu items of _MODE_MARKER_TYPE
	public final static int MODE_MARKER_TYPE_TEMPLATE = 19;
	public final static int MODE_MARKER_TYPE_SIMPLE = 20;
	public final static int MODE_MARKER_TYPE_BCH = 21;
	
	//menu items of _MODE_POSE_ESTIMATOR
	public final static int MODE_POSE_ESTIMATOR_ORIGINAL = 22;
	public final static int MODE_POSE_ESTIMATOR_ORIGINAL_CONT = 23;
	public final static int MODE_POSE_ESTIMATOR_RPP = 24;
	
	//menu items of _MODE_TRACKER_BASE_TYPE
	public final static int MODE_TRACKER_BASE_TYPE_SINGLE = 25;
	public final static int MODE_TRACKER_BASE_TYPE_MULTI = 26;
	
	//menu items of _MODE_HULL
	public final static int MODE_HULL_OFF = 27;
	public final static int MODE_HULL_FOUR = 28;
	public final static int MODE_HULL_FULL = 29;
	
	//menu items of _OTHER
	public final static int SHOW_CONFIGURATION = 30;
	public final static int PAUSE_SCREEN = 31;
	public final static int SHOW_FPS = 32;
	
	//menu item exit
	public static final int EXIT_APP = 10000;
	
	//ar mode
	public static final long BIT_MODE_AR_ARTOOLKIT = 1<<0;//1
	public static final long BIT_MODE_AR_ARTOOLKIT_PLUS = 1<<1;//2
	//similar to BIT_IMAGE_SIZE_CLEAR_MASK
	public final static long BIT_MODE_AR_ARTOOLKIT_CLEAR_MASK = ~(BIT_MODE_AR_ARTOOLKIT|
			BIT_MODE_AR_ARTOOLKIT_PLUS);
	
	//image size
	public final static long BIT_IMAGE_SIZE_OPTIMAL = 1<<24;//new
	public final static long BIT_IMAGE_SIZE_800x480 = 1<<25;//new
	public final static long BIT_IMAGE_SIZE_480x320 = 1<<26;//new
	public final static long BIT_IMAGE_SIZE_320x240 = 1<<2;//4
	public final static long BIT_IMAGE_SIZE_300x225 = 1<<3;//8...
	public final static long BIT_IMAGE_SIZE_280x210 = 1<<4;
	public final static long BIT_IMAGE_SIZE_260x195 = 1<<5;
	public final static long BIT_IMAGE_SIZE_240x180 = 1<<6;
	public final static long BIT_IMAGE_SIZE_220x165 = 1<<7;
	public final static long BIT_IMAGE_SIZE_200x150 = 1<<8;
	public final static long BIT_IMAGE_SIZE_180x135 = 1<<9;
	public final static long BIT_IMAGE_SIZE_160x120 = 1<<10;
	public final static long BIT_IMAGE_SIZE_140x105 = 1<<11;
	public final static long BIT_IMAGE_SIZE_120x90 = 1<<12;
	//settings from CurrentConfig.CURRENT_AR_SETTINGS.
	public final static long BIT_IMAGE_SIZE_CLEAR_MASK = ~(BIT_IMAGE_SIZE_320x240|BIT_IMAGE_SIZE_300x225|
	BIT_IMAGE_SIZE_280x210|BIT_IMAGE_SIZE_260x195|BIT_IMAGE_SIZE_240x180|BIT_IMAGE_SIZE_220x165|
	BIT_IMAGE_SIZE_200x150|BIT_IMAGE_SIZE_180x135|BIT_IMAGE_SIZE_160x120|BIT_IMAGE_SIZE_140x105|
	BIT_IMAGE_SIZE_120x90|BIT_IMAGE_SIZE_OPTIMAL|BIT_IMAGE_SIZE_800x480|BIT_IMAGE_SIZE_480x320);
	
	//marker type
	public final static long BIT_MODE_MARKER_TYPE_TEMPLATE = 1<<13;
	public final static long BIT_MODE_MARKER_TYPE_SIMPLE = 1<<14;
	public final static long BIT_MODE_MARKER_TYPE_BCH = 1<<15;
	//similar to BIT_IMAGE_SIZE_CLEAR_MASK
	public final static long BIT_MODE_MARKER_TYPE_CLEAR_MASK = ~(BIT_MODE_MARKER_TYPE_TEMPLATE|
			BIT_MODE_MARKER_TYPE_SIMPLE|BIT_MODE_MARKER_TYPE_BCH);
			
	//pose estimator
	public final static long BIT_MODE_POSE_ESTIMATOR_ORIGINAL = 1<<16;
	public final static long BIT_MODE_POSE_ESTIMATOR_ORIGINAL_CONT = 1<<17;
	public final static long BIT_MODE_POSE_ESTIMATOR_RPP = 1<<18;
	//similar to BIT_IMAGE_SIZE_CLEAR_MASK
	public final static long BIT_MODE_POSE_ESTIMATOR_CLEAR_MASK = ~(BIT_MODE_POSE_ESTIMATOR_ORIGINAL|
			BIT_MODE_POSE_ESTIMATOR_ORIGINAL_CONT|BIT_MODE_POSE_ESTIMATOR_RPP);
	
	//tracker type
	public final static long BIT_MODE_TRACKER_BASE_TYPE_SINGLE = 1<<19;
	public final static long BIT_MODE_TRACKER_BASE_TYPE_MULTI = 1<<20;
	//similar to BIT_IMAGE_SIZE_CLEAR_MASK
	public final static long BIT_MODE_TRACKER_BASE_TYPE_CLEAR_MASK = ~(BIT_MODE_TRACKER_BASE_TYPE_SINGLE|
			BIT_MODE_TRACKER_BASE_TYPE_MULTI);
		
	//hull tracking mode
	public final static long BIT_MODE_HULL_OFF = 1<<21;
	public final static long BIT_MODE_HULL_FOUR = 1<<22;
	public final static long BIT_MODE_HULL_FULL = 1<<23;
	//similar to BIT_IMAGE_SIZE_CLEAR_MASK
	public final static long BIT_MODE_HULL_CLEAR_MASK = ~(BIT_MODE_HULL_OFF|
			BIT_MODE_HULL_FOUR|BIT_MODE_HULL_FULL);
	
	//menu items of _MODE_IMAGE
	public final static int BIT_MODE_IMAGE_RGB = 1<<0;
	public final static int BIT_MODE_IMAGE_GRAY = 1<<1;
	
	public final static long BIT_MODE_IMAGE_CLEAR_MASK = ~(BIT_MODE_IMAGE_RGB|
			BIT_MODE_IMAGE_GRAY);
	
}
